package com.redwine.app.utils;

import android.content.Context;
import android.content.SharedPreferences;

public class CacheUtils {
    private static final String NAME = "huxiu";
    private static SharedPreferences sp = null;

    // 存布尔值
    public static void putBoolean(Context context, String key, boolean value) {
        if (sp == null) {
            sp = context.getSharedPreferences(NAME,
                    Context.MODE_PRIVATE);
        }
        sp.edit().putBoolean(key, value).commit();
    }

    // 取布尔值
    public static boolean getBoolean(Context context, String key, boolean defValue) {
        if (sp == null) {
            sp = context.getSharedPreferences(NAME,
                    Context.MODE_PRIVATE);
        }
        return sp.getBoolean(key, defValue);
    }

    // 存Strings
    public static void putString(Context context, String key, String value) {
        if (sp == null) {
            sp = context.getSharedPreferences(NAME,
                    Context.MODE_PRIVATE);
        }
        sp.edit().putString(key, value).commit();
    }

    // 取String
    public static String getString(Context context, String key, String defValue) {
        if (sp == null) {
            sp = context.getSharedPreferences(NAME,
                    Context.MODE_PRIVATE);
        }
        return sp.getString(key, defValue);
    }


    //用sp存储list集合,下面的方法还不成熟，可以借鉴
    //    public static boolean putLIstArray(Context context, List sKey) {
    //        if (sp == null) {
    //            sp = context.getSharedPreferences(NAME,
    //                    Context.MODE_PRIVATE);
    //        }
    //        sp.edit().putInt("Status_size", sKey.size()); /*sKey is an array*/
    //
    //        for (int i = 0; i < sKey.size(); i++) {
    //            sp.edit().remove("Status_" + i);
    //            String str = new Gson().toJson(sKey.get(i));
    //            sp.edit().putString("Status_" + i, str);
    //        }
    //        return sp.edit().commit();
    //    }
    //
    //    //这里获取的list是字符串类型。取出时记得再次转换为
    //    public static List getListArray(Context context, Object object) {
    //        List sKey = new ArrayList();
    //        if (sp == null) {
    //            sp = context.getSharedPreferences(NAME,
    //                    Context.MODE_PRIVATE);
    //        }
    //        sKey.clear();
    //        int size = sp.getInt("Status_size", 0);
    //
    //        for (int i = 0; i < size; i++) {
    //            Object obj = new Gson().fromJson(sp.getString("Status_" + i, null), object.getClass());
    //            sKey.add(obj);
    //        }
    //        return sKey;
    //    }
}
